#include <bits/stdc++.h>
#include <algorithm>
using namespace std;
namespace IO{
void setIn(string s) {freopen(s.c_str(), "r", stdin);}
void setOut(string s) {freopen(s.c_str(), "w", stdout);}
void setIO(string s = ""){
ios_base::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
#ifndef ONLINE_JUDGE
#endif // ONLINE_JUDGE
if (s.size()){
setIn(s+".inp");
setOut(s+".out");
} else{
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
#endif // ONLINE_JUDGE
}
}
}
using namespace IO;
namespace Function{
template <typename T1, typename T2> bool amax(T1 &a, T2 b){
if (a < b) {
a = b;
return 1;
}
return 0;
}
template <typename T1, typename T2> bool amin(T1 &a, T2 b){
if (a > b){
a = b;
return 1;
}
return 0;
}
template <typename T> void compress(T &a){
sort(a.begin(), a.end());
a.resize(unique(a.begin(), a.end()) - a.begin());
}
template <typename T1, typename T2, typename T3> int position(T1 Begin, T2 End, T3 val, bool type = 0){
if (type == 0){
return lower_bound(Begin, End, val) - Begin;
}
return upper_bound(Begin, End, val) - Begin;
}
template <typename T> long long sqr(T x) {return 1LL * x * x;}
template <typename T1, typename T2> long long pow_mod(T1 a, T2 b, long long mod = 1){ //a ^ b % mod
if(b == 0){return 1 % mod;}
else{
if(b % 2 == 0){
return sqr(pow_mod(a, b / 2, mod)) % mod;
}else{
return a * (sqr(pow_mod(a, b / 2, mod)) % mod) % mod;
}
}
}
template <typename T1, typename T2> long long GCD(T1 a, T2 b) {return b == 0 ? a : GCD(b, a % b);}
template <typename T1, typename T2> long long LCM(T1 a, T2 b) {return 1LL * a / GCD(a, b) * b;}
}
using namespace Function;
namespace Output{
char End_Of_Stream = '\n';
void print(int x) {cout << x << End_Of_Stream;}
void print(unsigned int x) {cout << x << End_Of_Stream;}
void print(long unsigned int x) {cout << x << End_Of_Stream;}
void print(long long x) {cout << x << End_Of_Stream;}
void print(unsigned long long x) {cout << x << End_Of_Stream;}
void print(float x) {cout << x << End_Of_Stream;}
void print(double x) {cout << x << End_Of_Stream;}
void print(long double x) {cout << x << End_Of_Stream;}
void print(char x) {cout << x << End_Of_Stream;}
void print(const char* x) {cout << x << End_Of_Stream;}
void print(string x) {cout << x << End_Of_Stream;}
void print(bool x) {cout << x << End_Of_Stream;}
template <typename T1, typename T2> void print(pair <T1, T2> a) {cout << a.first << " " << a.second << End_Of_Stream;}
template <size_t sz> void print(bitset<sz> a) {
for(int i = 0; i < sz; i++){
cout << a[i];
}
cout << End_Of_Stream;
}
template <typename T> void write(T x) {print(x);}
template <class T, class... Ts> void write(T t, Ts... ts){
write(t);
write(ts...);
}
template <class T, class... Ts> void print(T t, Ts... ts){
End_Of_Stream = ' ';
write(t, ts...);
cout << '\n';
End_Of_Stream = '\n';
}
template <typename T> void print(T a){
for(auto it : a){
cout << it << " ";
}
cout << "\n";
}
template <typename T> void prints(T a){
for(auto it : a){
print(it);
}
}
template <class T, class... Ts> void prine(T t, Ts... ts){
print(t, ts...);
exit(0);
}
}
using namespace Output;
typedef pair <int, int> pii;
typedef long long ll;
#define fi first
#define se second
const int dx[] = {1, -1, 0, 0};
const int dy[] = {0, 0, 1, -1};
const int dx1[] = {1, -1, 0, 0, -1, 1, -1, 1};
const int dy1[] = {0, 0, 1, -1, -1, -1, 1, 1};
const int INF = 1e9 + 10;
const long long INFL = 1e18 + 1e15;
const long long MOD = 1e9 + 7;
const long long MOD1 = (119 << 23) + 1;
const int N = 2e5 + 5;
int main(){
// setIO();
ios_base::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
int n;
cin >> n;
vector<int> vec1(n), vec2(n);
for(int i = 0; i < n; i++){
cin >> vec1[i];
}
for(int i = 0; i < n; i++){
cin >> vec2[i];
}
int cnt = 0;
int id = 0;
for(int i = 0; i < n; i++){
if(vec1[id] == vec2[i]){
id++;
cnt++;
}
}
print(n - cnt);
return 0;
}
436. Find Right Interval | 435. Non-overlapping Intervals |
406. Queue Reconstruction by Height | 380. Insert Delete GetRandom O(1) |
332. Reconstruct Itinerary | 368. Largest Divisible Subset |
377. Combination Sum IV | 322. Coin Change |
307. Range Sum Query - Mutable | 287. Find the Duplicate Number |
279. Perfect Squares | 275. H-Index II |
274. H-Index | 260. Single Number III |
240. Search a 2D Matrix II | 238. Product of Array Except Self |
229. Majority Element II | 222. Count Complete Tree Nodes |
215. Kth Largest Element in an Array | 198. House Robber |
153. Find Minimum in Rotated Sorted Array | 150. Evaluate Reverse Polish Notation |
144. Binary Tree Preorder Traversal | 137. Single Number II |
130. Surrounded Regions | 129. Sum Root to Leaf Numbers |
120. Triangle | 102. Binary Tree Level Order Traversal |
96. Unique Binary Search Trees | 75. Sort Colors |